import request from '@/utils/request';
import qs from 'qs';
import { ResponseData } from '../typing';
export interface LoginParams {
    logType: string;
    traceId: string;
    userId: string;
    userType: string;
    username: string;
    result: string;
    userIp: string;
    userAgent: string;
    createTime: string;
    current: number;
    size: number;
}
// 响应接口
export interface GetLoginLogPageRes {
    code: number;
    data: {
        size: number;
        total: number;
        records: {
            createTime: Record<string, unknown>;
            updateTime: Record<string, unknown>;
            creator: number;
            updater: number;
            tenantId: number;
            // 访问ID */
            id: number;
            // 日志类型 */
            logType: number;
            // 链路追踪编号 */
            traceId: string;
            // 用户编号 */
            userId: number;
            // 用户类型 */
            userType: number;
            // 用户账号 */
            username: string;
            // 登陆结果 */
            result: number;
            // 用户 IP */
            userIp: string;
            // 浏览器 UA */
            userAgent: string;
        }[];
        current: number;
        pages: number;
    };
    msg: string;
}
/**
 * 获得系统访问记录分页
 * @param {string} logType 日志类型
 * @param {string} traceId 链路追踪编号
 * @param {string} userId 用户编号
 * @param {string} userType 用户类型
 * @param {string} username 用户账号
 * @param {string} result 登陆结果
 * @param {string} userIp 用户 IP
 * @param {string} userAgent 浏览器 UA
 * @param {string} createTime 创建时间
 * @param {string} current 当前第几页(默认1)
 * @param {string} size 每页条数(默认20)
 * @returns
 */
export function getLoginLogPage(params: Partial<LoginParams>): Promise<GetLoginLogPageRes> {
    return request.get(`/system/login-log/page?${qs.stringify(params)}`);
}

/**
 * 导出系统访问记录 Excel
 * @param {string} logType 日志类型
 * @param {string} traceId 链路追踪编号
 * @param {string} userId 用户编号
 * @param {string} userType 用户类型
 * @param {string} username 用户账号
 * @param {string} result 登陆结果
 * @param {string} userIp 用户 IP
 * @param {string} userAgent 浏览器 UA
 * @param {string} createTime 创建时间
 * @param {string} current 当前第几页(默认1)
 * @param {string} size 每页条数(默认20)
 * @returns
 */
export function exportLoginLogExcel(params: Partial<LoginParams>): Promise<Blob> {
    return request.get(`/system/login-log/export-excel?${qs.stringify(params)}`, {
        responseType: 'blob',
    });
}
